Simple and Efficient Construction of Static Single Assignment Form

نویسندگان

  • Matthias Braun
  • Sebastian Buchwald
  • Sebastian Hack
  • Roland Leißa
  • Christoph Mallon
  • Andreas Zwinkau
چکیده

We present a simple SSA construction algorithm, which allows direct translation from an abstract syntax tree or bytecode into an SSA-based intermediate representation. The algorithm requires no prior analysis and ensures that even during construction the intermediate representation is in SSA form. This allows the application of SSA-based optimizations during construction. After completion, the intermediate representation is in minimal and pruned SSA form. In spite of its simplicity, the runtime of our algorithm is on par with Cytron et al.’s algorithm.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

-SSA and its Construction through Symbolic Interpretation

In this paper, we propose a new variant of SSA called-SSA and discuss its construction through symbolic interpretation of programs. By relaxing a condition of SSA form without violating the fundamental nature of static single assignment,-SSA form results in a representation which uses fewer join functions than the minimal SSA form. A graph representation called Value Flow Graph (VFG) is used to...

متن کامل

Simple Generation of Static Single-Assignment Form

The static single-assignment (SSA) form of a program provides data flow information in a form which makes some compiler optimizations easy to perform. In this paper we present a new, simple method for converting to SSA form, which produces correct solutions for nonreducible control-flow graphs, and produces minimal solutions for reducible ones. Our timing results show that, despite its simplici...

متن کامل

15-745: Graduate Compilers Project SSAPRE in MLton (Notes for Milestone)

MLton [1] is a high performance whole-program compiler for Standard ML [2]. One of MLton’s intermediate representations is a form of static single assignment control flow graphs [”SSA”; 5]. Though much care is taken to transform the functional source language into an efficient form with explicit loops (much like a C or Java compiler might produce), only a few simple optimizations are done on th...

متن کامل

Minimal Static Single Assignment Form

This formalization is an extension to [3]. In their work, the authors have shown that Braun et al.’s static single assignment (SSA) construction algorithm [1] produces minimal SSA form for input programs with a reducible control flow graph (CFG). However Braun et al. also proposed an extension to their algorithm that they claim produces minimal SSA form even for irreducible CFGs. In this formal...

متن کامل

A Formally Verified SSA-Based Middle-End - Static Single Assignment Meets CompCert

CompCert is a formally verified compiler that generates compact and efficient PowerPC, ARM and x86 code for a large and realistic subset of the C language. However, CompCert foregoes using Static Single Assignment (SSA), an intermediate representation that allows for writing simpler and faster optimizers, and is used by many compilers. In fact, it has remained an open problem to verify formally...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013